/*************************************************************************

#	 文件名称	: 01pthread_create.c
#	 作者		: 郑文杰 
#	 邮箱		: yanxin0517@126.com
#	 创建时间	: 2021年04月02日 星期五 10时38分34秒

 ************************************************************************/

#include<stdio.h>
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>

int i = 0;
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;


void * myfun (void * arg)
{
	int j = 0;
	int b = 0;
	while(j<500000)
	{
        pthread_mutex_lock(&mutex);
	 b = i;
	 j++;
	 i = b +1;
        pthread_mutex_unlock(&mutex);
	}
	printf("j = %d   i = %d\n",j,i);
    return NULL;
}

int main(int argc, const char *argv[])
{
	pthread_t tid;
	pthread_create(&tid,NULL,myfun,NULL);

	//主线程要做自己的事情
	int j =0;
	int b = 0;
	while(j<500000)
	{
        pthread_mutex_lock(&mutex);
	 b = i;
	 j++;
	 i=b+1;
        pthread_mutex_unlock(&mutex);
	}
	pthread_join(tid,NULL);
	printf("最后ｉ的结果为%d\n",i);
	return 0;
}

